<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2016 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2016/05-May/06.xhtml" />
		<title>The washing machine now leaks and Cyrus is probably coming back on Sunday. &lt;https://y.st./en/weblog/2016/05-May/06.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png" />
		<link rel="stylesheet" type="text/css" href="/link/basic.css" />
		<link rel="stylesheet" type="text/css" href="/link/site-specific.css" />
		<script type="text/javascript" src="/script/javascript.js" />
		<meta name="viewport" content="width=device-width" />
	</head>
	<body>
		<nav>
			<p>
				<a href="/en/">Home</a> |
				<a href="/en/a/about.xhtml">About</a> |
				<a href="/en/a/contact.xhtml">Contact</a> |
				<a href="/a/canary.txt">Canary</a> |
				<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
				<a href="/en/opinion/">Opinions</a> |
				<a href="/en/coursework/">Coursework</a> |
				<a href="/en/law/">Law</a> |
				<a href="/en/a/links.xhtml">Links</a> |
				<a href="/en/weblog/2016/05-May/06.xhtml.asc">{this page}.asc</a>
			</p>
			<hr/>
			<p>
				Weblog index:
				<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
				<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
				<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
			</p>
			<hr/>
			<p>
				Jump to entry:
				<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
				<a rel="prev" href="/en/weblog/2016/05-May/05.xhtml">&lt;Previous</a>
				<a rel="next" href="/en/weblog/2016/05-May/07.xhtml">Next&gt;</a>
				<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
		</nav>
		<header>
			<h1>The washing machine now leaks and Cyrus is probably coming back on Sunday.</h1>
			<p>Day 00426: Friday, 2016 May 06</p>
		</header>
<p>
	I spent most of the day cleaning up around the house and doing laundry.
	Unfortunately, our washing machine now leaks.
	Strange plastic pieces of the washing machine broke off yesterday in the wash, but now even more has broken off and we can see where they are coming from.
	Our hope is that what we are seeing are pieces of the washing machine&apos;s seal.
	If it&apos;s only the seal that&apos;s broken, that should be one of the easier and less expensive pieces to replace.
</p>
<p>
	I did some research on <a href="https://www.w3.org./TR/html5/"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr>5</a> tags in order to make sure that my <abbr title="Extensible Hypertext Markup Language">XHTML</abbr>-to-plain-text conversion class in <a href="https://git.vola7ileiax4ueow.onion/y.st./include.d">include.d</a> takes into account all valid <abbr title="Extensible Hypertext Markup Language">XHTML</abbr>5 tags and built what I believe to be a complete list of valid tags.
	Any tag that is unrecognized or invalid will be treated as nonexistent by the conversion class, as if the tag wasn&apos;t even in the markup.
	This will allow <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> documents that have other <abbr title="Extensible Markup Language">XML</abbr> types embedded in them to be processed without throwing errors or exceptions.
	Likewise, older and newer versions of <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> should be processed fairly well.
	I worked a bit more on this class, but at this point, nothing notable is happening.
	I&apos;m simply going through the tag list, implementing anything easy to implement, removing anything that shouldn&apos;t be implemented from the list, and setting aside anything that will take more in-depth work to complete.
	With all the minor work out of the way, it&apos;ll be much easier to see the major work.
	In fact, I might even release it without certain features (such as <code>&lt;table/&gt;</code> tag processing) and release those later as improvements.
	I don&apos;t need such complex markup for my own use case and it&apos;d be nice to be able to get my site upgraded.
	The later improvements will be just for completeness, in case someone else decides to use my code and actually expects it to function in a reasonable way.
</p>
<p>
	If you&apos;re reading this and plan to use this code though, please realize that this is an <abbr title="Extensible Hypertext Markup Language">XHTML</abbr>-processing class.
	At it&apos;s core, it processes <abbr title="Extensible Markup Language">XML</abbr> and demands well-formed-ness.
	It cannot process <abbr title="Hypertext Markup Language">HTML</abbr> that isn&apos;t well-formed; to process <abbr title="Hypertext Markup Language">HTML</abbr>, said <abbr title="Hypertext Markup Language">HTML</abbr> must properly close elements, including by using the newly-allowed-in-<abbr title="Hypertext Markup Language">HTML</abbr> <abbr title="Extensible Markup Language">XML</abbr> self-closing syntax.
	This inability to process documents that aren&apos;t well-formed is not in any way a bug.
	Besides, if you get right down to it, the <abbr title="Extensible Markup Language">XML</abbr>-processing code that my class uses is built into <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>.
	I can&apos;t fix up the parser to handle non-<abbr title="Extensible Markup Language">XML</abbr>.
</p>
<p>
	While researching <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> tags, I found that I have been misusing a few tags.
	I can&apos;t go back and fix all four hundred twenty-six past journal entries.
	That simply isn&apos;t feasible.
	However, I&apos;ve reworked my main template code to allow for both the old weblog entries&apos; code and a new code setup in newer entries so that I can start using these tags correctly.
	First, the <code>&lt;q/&gt;</code> tag is supposed to be used only to quote things that were actually said or written, by either real or fictional entities.
	It should never be used to provide &quot;scare quotes&quot;.
	The &amp;quot; entity should be used to provide such quotation marks instead.
	The <code>&lt;title/&gt;</code> tag should provide a name for the page that is recognizable out of context.
	While the <code>&lt;h1/&gt;</code> tag is allowed to assume that the reader knows the context that it is used in, the <code>&lt;title/&gt;</code> tag is not allowed to take such liberties due to the <code>&lt;title/&gt;</code> often being recorded and displayed elsewhere, such as in bookmarks lists in most Web browsers.
	I&apos;ve added the <abbr title="Uniform Resource Identifier">URI</abbr> of each page to its respective <code>&lt;title/&gt;</code> tag.
	After all, what gives context better than a globally-unique identifier? Lastly, <code>&lt;h1/&gt;</code>, <code>&lt;h2/&gt;</code>, <code>&lt;h3/&gt;</code>, <code>&lt;h4/&gt;</code>, <code>&lt;h5/&gt;</code>, and <code>&lt;h6/&gt;</code> tags cannot be used to semantically extend another of these tags.
	For example, I&apos;ve been using <code>&lt;h1/&gt;</code> tags to provide the main title of my weblog entries while using <code>&lt;h2/&gt;</code> tags to provide a subheading that isn&apos;t used to denote a subsection.
	Such use is invalid.
	Instead, one option is to use the <code>&lt;header/&gt;</code> tag to group a <code>&lt;p/&gt;</code> tag to the <code>&lt;h1/&gt;</code> tag and use the <code>&lt;p/&gt;</code> tag to provide the subtitle.
	I&apos;ve now set up all new pages to use that style of heading.
</p>
<p>
	Cyrus left for Springfield today, but he didn&apos;t take the suitcase.
	Likewise, our mother told him to have a nice weekend, implying that he&apos;d be back on Sunday as usual.
	It sounds like at least for now, they are sort of getting along again.
</p>
		<hr/>
		<p>
			Copyright © 2016 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F05-May%2F06.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.1</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2016%2F05-May%2F06.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

